เพื่อให้เข้าใจและควบคุม Git ได้อย่างแท้จริง ต้องมองลึกเข้าไปใต้พื้นผิวที่ใช้งานง่ายของ พอร์เซลเลน คำสั่ง เพื่อเข้าใจถึง ระบบท่อน้ำ—เครื่องยนต์ระดับล่างที่จัดการฐานข้อมูลวัตถุภายในของ Git ซึ่งเป็นระบบไฟล์ที่จัดเก็บข้อมูลตามเนื้อหา โดยทุกชิ้นส่วนของข้อมูลจะถูกบันทึกเป็นวัตถุที่ไม่สามารถเปลี่ยนแปลงได้
1. พอร์เซลเลน เปรียบเทียบกับ ระบบท่อน้ำ
พอร์เซลเลน หมายถึงคำสั่งระดับสูง (เช่น git status) ที่ออกแบบมาเพื่อการโต้ตอบโดยมนุษย์ ระบบท่อน้ำ หมายถึงคำสั่งระดับล่างที่ดำเนินการกับฐานข้อมูลวัตถุของ Git โดยตรง ทำให้เราเข้าถึงการแสดงผลภายในที่แท้จริงของ Git ได้
2. ฐานข้อมูลวัตถุ
Git ทำงานเหมือนระบบจัดเก็บข้อมูลแบบคีย์-แวลู ภายในโฟลเดอร์ .git/objects ที่เก็บวัตถุภายใน: บล็อก (blob), ทรี (tree), คอมมิต (commit)และ แท็ก (tag)สาขา แม้จะถูกกล่าวถึงพร้อมกับวัตถุ แต่ก็ทำหน้าที่เป็นตัวชี้ไปยังคอมมิตเหล่านั้น
3. การกำหนดที่อยู่ด้วยรหัส SHA-1
ทุกวัตถุจะถูกกำหนดชื่อด้วยรหัสเช็คซัมแบบเลขฐานสิบหก 40 ตัวอักษรที่ไม่ซ้ำกัน ซึ่ง Git ใช้ตัวอักษรแรกสองตัวเป็นชื่อโฟลเดอร์ย่อย (เช่น af/) และใช้ตัวอักษรอีก 38 ตัวเป็นชื่อไฟล์